package com.ruoyi.project.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 项目颜色对象 project_color
 * 
 * @author ruoyi
 * @date 2025-09-04
 */
@TableName("project_color")
@ApiModel("项目分类颜色实体")
@Data
public class ProjectColor {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键ID", example = "1")
    private Long id;

    /** 单位颜色 */
    @Excel(name = "单位颜色")
    @ApiModelProperty(value = "单位颜色")
    @NotBlank(message = "单位颜色不能为空")
    @TableField("unit_color")
    private String unitColor;

    /** 分部工程 */
    @Excel(name = "分部工程")
    @ApiModelProperty(value = "分部工程")
    @NotBlank(message = "分部工程颜色不能为空")
    @TableField("branch_color")
    private String branchColor;

    /** 单元工程 */
    @Excel(name = "单元工程")
    @ApiModelProperty(value = "单元工程")
    @NotBlank(message = "单元工程颜色不能为空")
    @TableField("cell_color")
    private String cellColor;

    @TableField("user_id")
    @ApiModelProperty(value = "创建人ID", example = "10001")
    private Long userId;

    @TableField("dept_id")
    @ApiModelProperty(value = "部门ID", example = "101")
    private Long deptId;

    @TableField("create_by")
    @ApiModelProperty(value = "创建人姓名", example = "张三")
    private String createBy;

    @TableField("create_time")
    @ApiModelProperty(value = "创建时间", example = "2023-01-01 12:00:00")
    private Date createTime;

    @TableField("update_by")
    @ApiModelProperty(value = "更新人姓名", example = "李四")
    private String updateBy;

    @TableField("update_time")
    @ApiModelProperty(value = "更新时间", example = "2023-01-02 13:00:00")
    private Date updateTime;

}
